# 初始化共享变量
import pathlib
import queue

task_queue = queue.Queue()  # 线程通信队列
is_task_running = False  # 任务运行标志
task_thread = None  # 任务线程对象


# 新增：工作线程主函数
def task_worker():
    global is_task_running
    while is_task_running:
        # 处理通信队列中的任务（1秒超时避免死锁）
        try:
            task = task_queue.get(timeout=1)
            if task[0] == "execute":
                device, workflow_name = task[1], task[2]
                # 读取task目录下的工作流文件（假设工作流文件存储在task目录）
                workflow_path = pathlib.Path(f"task/{workflow_name}.json")
                if workflow_path.exists():
                    with open(workflow_path, "r") as f:
                        workflow_content = f.read()
                    # 这里添加具体的工作流执行逻辑（示例为打印）
                    print(f"执行设备[{device}]的工作流[{workflow_name}]: {workflow_content}")
                    # 执行结果反馈到通信队列
                    task_queue.put(("result", workflow_name, "执行成功"))
                else:
                    task_queue.put(("error", workflow_name, "工作流文件不存在"))
        except queue.Empty:
            continue  # 队列为空时继续循环
    task_queue.put(("system", "任务线程已停止"))